#ifndef _SYS_INTERRUPTED_ERR_H_
#define _SYS_INTERRUPTED_ERR_H_

#include "Err.h"
#include "SysTypes.h"

#define INTERRUPTED_ERR_VTABLE(self)   ((InterruptedErrVTable*)((FanObj*)self)->vtable)


extern Type*    InterruptedErr_classType;
extern VTable*  InterruptedErr_classVTable;


/* [sys::InterruptedErr] Attributes */
struct InterruptedErr
{
  Err           super;
};


/* [sys::InterruptedErr] Virtual-table */
typedef struct InterruptedErrVTable
{
  ErrVTable     super;
} InterruptedErrVTable;


/* [sys::InterruptedErr] Methods and fields */
void            InterruptedErr_make_0(InterruptedErr* self);
void            InterruptedErr_make_1(InterruptedErr* self, Str* msg);
void            InterruptedErr_make(InterruptedErr* self, Str* msg, Err* cause);


/* [sys::InterruptedErr] Extra methods */
InterruptedErr* InterruptedErr_new(Str* msg, Err* cause);
InterruptedErr* InterruptedErr_newWithFormattedMsg(const char* msgFormat, ...);


/* [sys::InterruptedErr] Type-system functions */
Type*           InterruptedErr_initType(void);
VTable*         InterruptedErr_initVTable(void);
void            InterruptedErr_initStatic(void);


#endif
